Turing Machine by James1337 (autoit.de)
---------------------------------------

Description:
A Turing machine is a hypothetical device that manipulates symbols on a strip of tape according to a table of rules.
Despite its simplicity, a Turing machine can be adapted to simulate the logic of any computer algorithm,
and is particularly useful in explaining the functions of a CPU inside a computer. (Source: Wikipedia)

The Tape:
...is represented by the variable $Tape.
You can change its content to whatever you like, but you may have to edit the program, too.

The Program ("table of rules"):
...is located in the variable $Program. "*" can be used as a wildcard.
I don't know how to explain the syntax, so the following will hopefully help you to understand it:
("State = *;" will leave the state unchanged, the same applies for "Tape[i] = *;")

$Program = "ABCDABCD..."

if ((State == A) && (Tape[i] == B))
{
	State = C;
	Tape[i] = D;
}
i += 1;


Usage:
Just start the script like you are used to.
Please watch it run at least once before you change anything.

Known Bugs:
Neither the table of rules nor the tape will be checked in any way before the machine starts,
so you might be able to crash it by entering an invalid program and/or an empty tape.
Also, you can only close the GUI after the program has halted.

EOF